package com.dgt.trade.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 
 * ClassName: ValidatorUtils <br>
 * Function: 校验工具类. <br>
 */
public class ValidatorUtils {

	/**
	 * 正则表达式：验证手机号
	 */
	// public static final String REGEX_MOBILE =
	// "^((13[0-9])|(15[^4,\\D])|(18[0-9])|(14[0-9])|(17[0-9])|(19[0-9]))\\d{8}$";
	public static final String REGEX_MOBILE = "^1[345789]{1}[0-9]{9}$";
	/**
	 * 正则表达式：验证邮箱
	 */
	public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";

	/**
	 * 正则表达式：验证汉字
	 */
	public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5],{0,}$";

	/**
	 * 正则表达式：验证身份证
	 */
	public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";

	/**
	 * 正则表达式：验证IP地址
	 */
	public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";
	/**
	 * 正则表达式：验证固话
	 */
	public static final String REGEX_TEL = "\\d{3}-\\d{8}|\\d{4}-\\{7,8}";

	/**
	 * 校验手机号
	 *
	 * @param mobile
	 * @return 校验通过返回true，否则返回false
	 */
	public static boolean isMobile(String mobile) {
		return Pattern.matches(REGEX_MOBILE, mobile);
	}

	/**
	 * 校验手机号
	 *
	 * @param mobile
	 * @return 校验通过返回true，否则返回false
	 */
	public static boolean isTel(String mobile) {
		return Pattern.matches(REGEX_TEL, mobile);
	}

	/**
	 * 校验邮箱
	 *
	 * @param email
	 * @return 校验通过返回true，否则返回false
	 */
	public static boolean isEmail(String email) {
		return Pattern.matches(REGEX_EMAIL, email);
	}

	/**
	 * 校验汉字
	 *
	 * @param chinese
	 * @return 校验通过返回true，否则返回false
	 */
	public static boolean isChinese(String chinese) {
		return Pattern.matches(REGEX_CHINESE, chinese);
	}

	/**
	 * 校验身份证
	 *
	 * @param idCard
	 * @return 校验通过返回true，否则返回false
	 */
	public static boolean isIDCard(String idCard) {
		return Pattern.matches(REGEX_ID_CARD, idCard);
	}

	/**
	 * 校验IP地址
	 *
	 * @param ipAddr
	 * @return
	 */
	public static boolean isIPAddr(String ipAddr) {
		return Pattern.matches(REGEX_IP_ADDR, ipAddr);
	}

	/*  public static void main(String[] args) {
	    String username = "fdsdfsdj";
	    System.out.println(ValidatorUtils.isChinese(username));
	}*/

	public static boolean isNumeric(String str) {
		Pattern pattern = Pattern.compile("[0-9]*");
		Matcher isNum = pattern.matcher(str);
		if (!isNum.matches()) {
			return false;
		}
		return true;
	}

	/*public static void main(String[] args) {
		System.err.println(ValidatorUtils.isTel("0377-64429077"));
		System.err.println(ValidatorUtils.isMobile("15537732233"));
	}*/

}
